1. Field of the Invention
The present invention generally relates to encryption techniques and, in particular, to a system and method for encrypting data communicated between two computers remotely located from each other.
2. Related Art
With the introduction of the Internet and other technological advances, computers now have the capability of communicating across vast distances. However, communication over vast distances presents certain security issues in some applications that utilize sensitive or private information. In this regard, it is often difficult to prevent an unauthorized user, sometimes referred to as a “hacker,” from gaining access to a portion of a data path connecting two computers that are remotely located from each other. Therefore, it is possible for a hacker to intercept at least some of the messages communicated during a data session between the two computers.
As a result, encryption techniques have been developed to prevent hackers from deciphering messages that have been intercepted. Most encryption techniques utilize a key or keys that translate (i.e., encrypt) the data of a message into an unrecognizable form before transmission. The intended recipient at some point is provided with a key or keys that may be used to translate (i.e., decrypt) the unrecognizable message into a recognizable form so that the message can be read and processed by the recipient. Therefore, even if a hacker intercepts a message, the hacker should be unable to read the message, because the hacker should not have the key or keys needed to properly decrypt the message.
However, not all encryption techniques afford the same quality of protection from hackers. In this regard, it is possible for some hackers to determine (i.e., “break”) the algorithm used to encrypt an intercepted message and, therefore, to decipher the contents of the intercepted message. Some encryption techniques utilize a more complex encryption scheme, which is generally more difficult to break than a less complex encryption scheme. However, more complex encryption schemes generally take longer to encrypt and decrypt and, therefore, reduce the throughput for the data session.
For example, two commonly used encryption techniques are data encryption standard (DES) and Rivest-Shamir-Adleman (RSA) encryption. RSA encryption is usually more difficult to break than DES encryption, but RSA encryption causes a significant reduction in throughput as compared to DES encryption. Accordingly, in applications in which large amounts of data need to be transmitted, DES encryption is often selected over RSA encryption, even though DES encryption is viewed by many as a less secure encryption technique.
Thus, a heretofore unaddressed need exists in the industry for a highly secure encryption scheme that minimally impacts throughput.